A 3D field sensor is a sensor that measures direction and magnitude of some field in three-dimensional (3D) space. For example three orthogonal magnetometer elements can measure the direction and magnitude of the surrounding magnetic field. Similarly, three orthogonal accelerometer elements can sense the direction and magnitude of acceleration or more importantly the gravitational field, which is typically indistinguishable from acceleration.
As already suggested above, in almost all cases, a 3D field sensor includes at some level three single-dimensional sensors oriented appropriately relative to each other. The basic assumption in reconstructing the direction and magnitude of the measured field is that these elements are orthogonal to each other and have similar scales and bias of zero.
In practice, however, these assumptions are rarely valid. Magnetometers are especially tricky, because external magnetic components attached to a device in which the magnetometer resides can result in scale and offset errors and can also effectively introduce linear dependence among the measuring axes.
To counteract these problems, calibration of the 3D field sensor is needed. Usually this process is lengthy and generally involves complicated steps for the user. For example, to find the scale of an axis, it is usually required to find the maximum and minimum value that the field can produce on that axis. This process also gives the offset, but cannot find possible linear dependence among different axes. To find possible linear dependence among different axes, it is usually required to indicate certain reference directions, which is also time consuming for the user.
As another example, a traditional way of calibrating an electronic compass is by comparing measured headings to known headings and building a lookup table. To have an accurate heading, this process must be performed whenever the device is moved to a new location. Unfortunately, 3D magnetometers are relatively new, and most calibration methods are for 2D sensors. Automatic calibration methods have been based on Kalman filtering, in for example: Bruce Hoff, Ronald Azuma: “Autocalibration of an Electronic Compass in an Outdoor Augmented Reality System”, Proceedings of IEEE and ACM Int'l Symposium on Augmented Reality 2000 (2000). This process still takes user input regarding known headings and is typically impractical for 3D field sensors.
It would therefore be desirable to provide techniques that can calibrate 3D field sensors with little if any user input.